package com.monitor.control;

import java.time.LocalTime;

/**
 * 时间范围类，表示一个时间段
 */
public class TimeRange {
    private LocalTime startTime;
    private LocalTime endTime;
    
    public TimeRange(LocalTime startTime, LocalTime endTime) {
        this.startTime = startTime;
        this.endTime = endTime;
    }
    
    /**
     * 检查指定时间是否在此时间范围内
     * @param time 要检查的时间
     * @return 如果在范围内返回true，否则返回false
     */
    public boolean contains(LocalTime time) {
        return !time.isBefore(startTime) && !time.isAfter(endTime);
    }
    
    /**
     * 获取开始时间
     * @return 开始时间
     */
    public LocalTime getStartTime() {
        return startTime;
    }
    
    /**
     * 设置开始时间
     * @param startTime 开始时间
     */
    public void setStartTime(LocalTime startTime) {
        this.startTime = startTime;
    }
    
    /**
     * 获取结束时间
     * @return 结束时间
     */
    public LocalTime getEndTime() {
        return endTime;
    }
    
    /**
     * 设置结束时间
     * @param endTime 结束时间
     */
    public void setEndTime(LocalTime endTime) {
        this.endTime = endTime;
    }
    
    @Override
    public String toString() {
        return startTime.toString() + " - " + endTime.toString();
    }
}